package com.ctshk.rpc.system.req;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


/**
 * <p>
 * 新增代理商
 * </p>
 *
 * @author 张志朋
 * @since 2021-02-03
 */
@Data
@ApiModel(value="SysAddAgentReq请求对象", description="新增代理商请求对象")
public class SysAddAgentReq implements Serializable {
    private static final long serialVersionUID = -7418656305354537104L;

    private Long id;

    @NotNull(message = "請輸入代理商中文名稱")
    @ApiModelProperty(value = "代理商名称",required = true)
    private String cnName;

    @NotNull(message = "請輸入代理商英文名稱")
    @ApiModelProperty(value = "代理商英文名称")
    private String enName;

    @NotNull(message = "請輸入城市")
    @ApiModelProperty(value = "城市",required = true)
    private String city;
    
    @NotNull(message = "請輸入城市id")
    @ApiModelProperty(value = "城市id",required = true)
    private Long cityId;

    @NotNull(message = "請輸入所屬部門")
    @ApiModelProperty(value = "所属部门",required = true)
    private Long departmentId;

    @NotNull(message = "請選擇代理商類別")
    @ApiModelProperty(value = "代理商类别",required = true)
    private Long agentTypeId;

    @NotBlank(message = "請輸入掛賬客戶")
    @ApiModelProperty(value = "挂账客户",required = true)
    private String onAccountCustomer;

    @NotBlank(message = "請上傳營業執照")
    @ApiModelProperty(value = "营业执照",required = true)
    private String businessLicense;

    @NotBlank(message = "請上傳代理商合同")
    @ApiModelProperty(value = "代理商合同",required = true)
    private String contractFile;

    @NotNull(message = "請選擇是否使用系統")
    @ApiModelProperty(value = "是否使用系统",required = true)
    private Integer useSys;

    @ApiModelProperty(value = "公司电话")
    private String companyTelephone;
    
    @ApiModelProperty(value = "代理商地址")
    private String location;

    @ApiModelProperty(value = "所属系统 1 核心业务系统;2 供应商开放平台;3 代理商分销系统ADS;4 地接系统;5 商旅系统TMC")
    private Integer platformSysType;

    @NotBlank(message = "請輸入財務系統編碼")
    @ApiModelProperty(value = "财务系统编码",required = true)
    private String financeSysCode;

    @ApiModelProperty(value = "代理商联系人")
    private String businessContactName;

    @ApiModelProperty(value = "代理商联系人电话")
    private String businessContactMobile;

    @ApiModelProperty(value = "代理商业务邮箱")
    private String businessContactEmail;

    @ApiModelProperty(value = "代理商传真")
    private String contactFax;

    @ApiModelProperty(value = "银行名称")
    private String bankName;

    @ApiModelProperty(value = "银行卡号")
    private String bankCard;

    @ApiModelProperty(value = "代理商财务联系人")
    private String financeContactName;

    @ApiModelProperty(value = "财务联系电话")
    private String financeContactMobile;

    @ApiModelProperty(value = "财务邮箱")
    private String financeContactEmail;

    @ApiModelProperty(value = "结算周期")
    private Integer settlementPeriod;

    @ApiModelProperty(value = "结算周期类型(	1 按天结算	2 按周结算	3 按月结算)")
    private Integer settlementPeriodType;

    @ApiModelProperty(value = "结算币种类型")
    private String settlementCurrency;

    @ApiModelProperty(value = "合作有效期类型(	1 有时间限制	2 长期)")
    private Integer cooperationValidityType;

    @ApiModelProperty(value = "合作开始时间")
    private LocalDate cooperationDateBegin;

    @ApiModelProperty(value = "合作结束时间")
    private LocalDate cooperationDateEnd;

    @ApiModelProperty(value = "其他文件")
    private String otherFiles;

    @ApiModelProperty(value = "业务监督人")
    private String businessSupervisor;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "币种ID")
    private Long currencyId;

    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "汇率")
    private BigDecimal exchangeRate;


}
